
package com.be.beadmin.product.service;

import com.be.beadmin.product.dto.input.ErrorReportFileInfoPage;
import com.be.beadmin.product.entity.ErrorReportFileInfo;
import com.be.beadmin.product.dto.output.ErrorReportFileInfoEx;
import com.be.beadmin.product.dto.input.ErrorReportFileInfoDto;
import com.be.beadmin.product.dto.input.ErrorReportFileInfoQueryCriteria;
import org.springframework.data.domain.Page;
import com.be.beadmin.common.entity.PageEntity;
import org.springframework.data.domain.Pageable;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;

/**
* @description 服务接口
* @author ljh
* @date 2023-09-21
**/
public interface ErrorReportFileInfoService {

    /**
    * 分页的查询接口
    * @param pageEntity
    * @return
    */
    Page<ErrorReportFileInfoEx> getErrorReportFileInfoByPage(PageEntity pageEntity);

    /**
    * @param errorReportFileInfoDto
    */
    void addErrorReportFileInfo(ErrorReportFileInfoDto errorReportFileInfoDto);

    /**
    * @param errorReportFileInfoDto
    */
    void updateErrorReportFileInfo(ErrorReportFileInfoDto errorReportFileInfoDto);

    /**
    * @param id
    */
    void delErrorReportFileInfo(String id);

    /**
    * 删除多个角色
    * @param ids
    */
    void delErrorReportFileInfos (List<String> ids);

    Page<ErrorReportFileInfoEx> getErrorReportFileInfoPageByErrorReportId(ErrorReportFileInfoPage errorReportFileInfoPage);

    String getErrorPreviewUrl(String errorReportFileInfoId) throws Exception;

    void uploadErrorReportFileInfo(String errorReportId, MultipartFile[] multipartFiles, String bucketName) throws Exception;
}